Agile software development refers to a software development methodology that emphasizes close collaboration between the software development and business teams, early and continuous delivery of working software, continuous improvement, adaptive planning, and being flexible and responsive to changes in user requirements. In agile software development, each release version of the software application is developed over many iterations, with each iteration typically lasting short periods of time. An iteration focuses on the completion of a planned set of discrete incremental tasks derived by breaking down high level user requirements or features, and a feature is typically referred to as a “user story.” At the end of an iteration, a working version of the software application is demonstrated to stakeholders for feedback.
In agile software development, the unit of measurement for the time and/or effort required for a development team to complete a discrete task is often referred to as a “story point,” and a feature or user story is associated with a number of story points based on the number of discrete tasks needed to implement the feature. Software projects using agile software development can track the progress of the project by tracking, out of the total number of planned story points for a particular release or iteration of the software application, i) how many number of story points have been completed, ii) how many story points remain to be completed, and iii) their rate of completion. This information may be represented graphically.